import type {
  UnitInfo,
  UnitManagementSaveOrUpdateUnitParams,
  UnitManagementSaveOrUpdateUnitTypeParams,
  UnitTypeInfo,
} from '@/types'

const controller = getAjaxBaseUrl(
  '/unitManagement',
  '/energy',
)

/** 删除单位信息 */
export function deleteUnitById(id: number) {
  return get(`${controller}/deleteUnitById`, { id })
}

/** 删除单位类别 */
export function deleteUnitTypeById(id: number) {
  return get(`${controller}/deleteUnitTypeById`, { id })
}

/** 根据单位类别id查询单位信息列表 */
export function selectUnitListByTypeId(typeId: number) {
  return get<UnitInfo[]>(`${controller}/selectUnitListByTypeId`, {
    typeId,
  })
}

/** 查询单位类别列表 */
export function selectUnitTypeList() {
  return get<UnitTypeInfo[]>(`${controller}/selectUnitTypeList`)
}

/** 新增或修改单位信息 */
export function saveOrUpdateUnit(params: Partial<UnitManagementSaveOrUpdateUnitParams>) {
  return post(`${controller}/saveOrUpdateUnit`, params)
}

/** 新增或修改单位类别 */
export function saveOrUpdateUnitType(params: Partial<UnitManagementSaveOrUpdateUnitTypeParams>) {
  return post(`${controller}/saveOrUpdateUnitType`, params)
}

/** 查询单位信息下拉列表 */
export function selectUnitList() {
  return get(`${controller}/selectUnitList`)
}
